/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package oef31gastenboek;

import java.io.EOFException;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.util.ArrayList;

/**
 *
 * @author Joris.Lefever
 */
public class GastenBoekManager {
    public GastenBoekManager() {}
     
    //Een gastenboek lezen
    public ArrayList<GastenBoekEntry> leesBoek() {
      boolean eof = false;   
      GastenBoek boek = null; 
         
    try {
        FileInputStream fis = new FileInputStream("gastenboek.dat");
        ObjectInputStream ois = new ObjectInputStream(fis);
        while (!eof) {
            try {
                boek = (GastenBoek) ois.readObject();
            }
            catch(EOFException e) {
                eof = true;
            }
            catch (ClassNotFoundException e) {
                System.out.println("Kan de klasse niet vinden : " + e.getMessage());
                System.exit(0);
            }
            catch(IOException e) {
                System.out.println("Algemene input/output fout : " + e.getMessage());
                System.exit(0);
            }
        }
        ois.close(); 
             }
        catch(Exception e) {
            System.out.println("Kan het gastenboek niet vinden!");
            System.exit(0);
        } 
         return (ArrayList) boek.weergeven();
  }
    
  public void schrijf(GastenBoekEntry notitie) {
        GastenBoek boek = new GastenBoek();
        try {
          FileInputStream fis = new FileInputStream("gastenboek.dat");
          ObjectInputStream ois = new ObjectInputStream(fis);
          boek = (GastenBoek) ois.readObject();
          ois.close();     
        }
 

        catch(EOFException e) {} 
        catch(Exception e) {
            System.out.println(e.getMessage());
        }
        boek.toevoegen(notitie);
        try {
            FileOutputStream fos = new FileOutputStream("gastenboek.dat");
            ObjectOutputStream oos = new ObjectOutputStream(fos);
            oos.writeObject(boek);
            oos.close();
        }
        catch (IOException e) {
            System.out.println("Entry kon niet weggeschreven worden!");
        }         
  }   
  
}
